public interface IBinaryTree {
    //二叉树的一个节点
    class treeNode{
        public treeNode(char data){
            this.data = data;
        }
        //利用孩子表示法表示树
        char data;
        treeNode left;
        treeNode right;
    }
    void preOrder(treeNode root);
    void inOrder(treeNode root);
    void postOrder(treeNode root);
    int size(treeNode root);
    // 获取叶⼦节点的个数
    int getLeafNodeCount(treeNode root);
    // ⼦问题思路-求叶⼦结点个数
// 获取第K层节点的个数
    int getKLevelNodeCount(treeNode root,int k);
    // 获取⼆叉树的⾼度
    int getHeight(treeNode root);
    // 检测值为value的元素是否存在
    treeNode find(treeNode root, int val);
    //层序遍历
    void levelOrder(treeNode root);
    // 判断⼀棵树是不是完全⼆叉树
    boolean isCompleteTree(treeNode root);
}
